using System.Collections.Generic;
using System.Data;
using Magiq.Behaviors;
using Magiq.Update;

namespace Magiq.Databases.Update
{
    public interface IDatabaseUpdateBehavior<T> : IMagiqBehavior
    {
        IEnumerable<DatabaseUpdate<T>> BuildDatabaseUpdates();
        void Initialize(IDatabaseAdapter databaseAdapter, IUpdate<T> update);
        IDbCommand BuildCommand(DatabaseUpdate<T> databaseUpdate);
    }
}